<?php
#!/bin/bash

/**
 * User: hzbskak
 * Date: 2020/1/8 - 14:08
 */

namespace app\admin\controller;


use app\admin\model\CommonModel;
use think\Controller;

/**
 * 公共控制器
 * Class Common
 * @package app\admin\controller
 */
class Common extends Controller
{

    /**
     * 构造方法
     * ---------------------
     * 1 判断访问的方法是否需要登录
     * 2 需要登录则判断是否已经登录
     * 3 判断方法是否需要鉴权
     * 4 去验证权限
     * ---------------------
     * @date 2020年1月17日16:31:46
     * Common constructor.
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\ModelNotFoundException
     * @throws \think\exception\DbException
     */
    public function __construct()
    {
        parent::__construct();

        /*// 该方法是否需要登录
        // 该方法是否需要验证权限
        // 该方法是否有权限
        //   -> 是否登录 -> grade=1跳出
        //   -> 通过该方法找到被function表里func_code字段所包含的id
        //   -> 在power表中通过in function_id and = roleid_id 判断是否存在*/

        $is_need_login = CommonModel::isNeedLogin(); // 访问的方法是否需要登录

        $url = CommonModel::getUrl();
        if( $url == '/') // 重定向
        {
            $this->redirect( '/admin/index/common');
        }

        if( $is_need_login) // 当前方法是否需要登录
        {
            $user = session( 'user');
            if( !$user) // 没有登录，重定向到登录页面
            {
                echo "<script language='JavaScript'>window.top.location.href='/admin/login/login'</script>";exit;
            }

            $is_need_auth_permission = CommonModel::isNeedAuthPermission(); // 当前方法是否需要鉴权
            if( $is_need_auth_permission)
            {
                $result = CommonModel::goAuth();
                if( !$result)
                {
                    $this->error( '没有操作权限');
                }
            }
        }
    }

    /**
     * 保存用户列排序配置
     * @date 2020年1月16日11:20:14
     * @return \think\response\Json
     * @throws \think\Exception
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\ModelNotFoundException
     * @throws \think\exception\DbException
     */
    public function getOrder()
    {
        if( request()->isAjax())
        {
            return json( CommonModel::addOrderChange( input( 'param.')));
        }
    }












































































}